磁盘及文件系统管理（分区，挂载，卸载，信息展示与统计）
=======================================

磁盘操作
---------------------------------------------------------------------------------------------
###：fdisk：操作磁盘分区表
OPTIONS：
~]# fdisk -l /dev/sda （查看分区详情）

~]# fdisk -l （查看分区详情）

~]# fdisk /dev/sda
Command (m for help): m
Command action
   d   delete a partition（删除一个分区）
   l   list known partition types（列出已有的分区类型）
   m   print this menu（打印菜单）
   n   add a new partition（创建新分区）
   p   print the partition table（显示现有的分区信息）
   q   quit without saving changes（不保存退出）
   t   change a partition's system id（改变分区的系统标识）修改分区类型。
   w   write table to disk and exit（写入磁盘和退出表）
---------------------------------------------------------------------------------------------
通知内核强制重读磁盘分区表：
    CentOS 5：partprobe [device]
    CentOS 6,7：partx, kpartx
        partx -a [device]
        kpartx -af [device]

查看：cat  /proc/partitions
---------------------------------------------------------------------------------------------
###：mkfs.ext2  mkfs.ext3  mkfs.ext4：ext系列文件系统的管理工具
SYNOPSIS：
    mkfs.ext# device
OPTIONS：
    格式化：mkfs.ext2 /dev/sda3
    格式化：mkfs.ext3 /dev/sda3
    格式化：mkfs.ext4 /dev/sda3
---------------------------------------------------------------------------------------------
###：blkid：查看设备属性
SYNOPSIS：
    blkid [device]
OPTIONS：
    ~]# blkid /dev/sda2  （查看单个）
          /dev/sda2: UUID="ivAmVh-34tK-Wc0f-cBwE-UP9X-4Dzb-NnEPD0" TYPE="LVM2_member" 
    ~]# blkid  （查看所有）
          /dev/sda1: UUID="a1286a7b-86de-45ea-b405-243296edd943" TYPE="xfs" 
          /dev/sda2: UUID="ivAmVh-34tK-Wc0f-cBwE-UP9X-4Dzb-NnEPD0" TYPE="LVM2_member" 
          /dev/sr0: UUID="2015-04-01-00-21-36-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
          /dev/mapper/centos-root: UUID="95182712-dbff-4a70-8b0b-e5bdc0e318a2" TYPE="xfs" 
          /dev/mapper/centos-swap: UUID="99a1630a-f72f-4151-b24a-d81a6cf3df1d" TYPE="swap" 
          /dev/mapper/centos-home: UUID="225e506a-9b19-42f0-8b17-b9aa3713d56c" TYPE="xfs" 

      -L LABEL：根据LABEL定位设备
            ~]# blkid -L LABEL 
            /dev/sda3

      -U  UUID：根据UUID定位设备 
          ~]# blkid -U 1709e781-788a-48fd-97da-69d2ced72470
                  /dev/sda3    
---------------------------------------------------------------------------------------------
###：mkfs.xfs： 构建一个XFS系统（格式化）
OPTIONS：
          ~]# mkfs.xfs /dev/sda1

          -f：强制格式化。
                ~]# mkfs.xfs -f /dev/sda3
---------------------------------------------------------------------------------------------
###：mkfs：创建一个Linux文件系统
SYNOPSIS：
       mkfs [options] [-t type] [fs-options] device [size]
OPTIONS：
      -t：指定文件系统类型，如果没有指定则为ext2（等同于 mkfs.ext2）
            ~]# mkfs -t ext2 /dev/sda3
---------------------------------------------------------------------------------------------
###：mke2fs： 创建一个 ext2/ext3/ext4 文件系。
SYNOPSIS：
      mke2fs [OPTIONS]  device
OPTIONS：
        -t {ext2|ext3|ext4}：指明要创建的文件系统类型
            ~]# mke2fs -t ext3  /dev/sda3

        -b {1024|2048|4096}：指明文件系统的块大小。
              ~]# mke2fs -b 1024 /dev/sda3

        -L LABEL：指明卷标.
              ~]# mke2fs -L 'MYDATA' /dev/sda3

        -j：创建有日志功能的文件系统ext3。
              ~]# mke2fs -j /dev/sda3

        -i #：bytes-per-inode，指明inode与字节的比率；即每多少字节创建一个Indode; 
              ~]# mke2fs -i 1024 /dev/sda3

        -N #：直接指明要给此文件系统创建的inode的数量。
              ~]# mke2fs -N 307200 /dev/sda3

        -m #：指定预留的空间，百分比。（直接指明数字）
              ~]# mke2fs -m 2 /dev/sda3

        -O [^]FEATURE：以指定的特性创建目标文件系统。
---------------------------------------------------------------------------------------------
###：e2label：查看与改变 ext2/ext3/ext4 文件系统卷。
SYNOPSIS：
       e2label device [ new-label ]
OPTIONS：
      查看：e2label device
          ~]# e2label /dev/sda3

      设定：e2label device LABEL
          ~]# e2label /dev/sda3 label
---------------------------------------------------------------------------------------------
###：tune2fs：查看或修改 ext2/ext3/ext4 系列文件系统的某些属性。
SYNOPSIS：
      tune2fs [OPTIONS] device
OPTIONS：
      -l：查看超级块的内容
            ~]# tune2fs -l /dev/sda3

      修改指定文件系统的属性：
        -j：ext2 --> ext3：添加一个ext3日志文件系统
            ~]# blkid /dev/sda3
                  /dev/sda3: UUID="87a8af11-c075-48b8-a10d-c2f90997cd2e" TYPE="ext2" 
            ~]# tune2fs -j /dev/sda3
                  tune2fs 1.42.9 (28-Dec-2013)
            Creating journal inode: done
            ~]# blkid /dev/sda3
                  /dev/sda3: UUID="87a8af11-c075-48b8-a10d-c2f90997cd2e" SEC_TYPE="ext2" TYPE="ext3" 

        -L LABEL：修改卷标。
            ~]# tune2fs -L 'LABEL' /dev/sda3
            `       tune2fs 1.42.9 (28-Dec-2013)
            ~]# e2label /dev/sda3
                  LABEL
            ~]# tune2fs -l /dev/sda3
                  tune2fs 1.42.9 (28-Dec-2013)
                  Filesystem volume name:   LABEL
                  .....

        -m #：调整预留空间百分比；
              ~]# tune2fs -m 2 /dev/sda3
                    tune2fs 1.42.9 (28-Dec-2013)
                    Setting reserved blocks percentage to 2% (6144 blocks)

        -O [^]FEATHER：开启或关闭某种特性；
                   dir_index
                   dir_nlink
                   extra_isize
                   filetype
                   flex_bg
                   has_journal
                   huge_file
                   large_file
                   resize_inode
                   mmp   
                   sparse_super
                   uninit_bg        

        -o [^]mount_options：开启或关闭某种默认挂载选项
                  debug
                  bsdgroups
                  user_xattr
                  acl
                  uid16
                  journal_data
                  journal_data_ordered
                  journal_data_writeback
                  nobarrier
                  block_validity
                  discard
                  nodelalloc

        注意：块大小创建后不可修改。
---------------------------------------------------------------------------------------------
      dumpe2fs命令：显示ext系列文件系统的属性信息
        dumpe2fs  [-h] device
---------------------------------------------------------------------------------------------
###：dumpe2fs：显示 ext2/ext3/ext4 文件系统的属性信息
SYNOPSIS：
       dumpe2fs [ -bfhixV ] [ -o superblock=superblock ] [ -o blocksize=blocksize ] device
OPTIONS：
      -h：只显示超级块信息，不显示块组描述符的详细信息。
            ~]# dumpe2fs -h /dev/sda3
---------------------------------------------------------------------------------------------
###：lsmod：在内核中显示模块的状态
---------------------------------------------------------------------------------------------


文件系统检测的工具：
      因进程意外中止或系统崩溃等 原因导致定稿操作非正常终止时，可能会造成文件损坏；此时，应该检测并修复文件系统； 建议，离线进行。
---------------------------------------------------------------------------------------------
###：e2fsck：检查 ext2/ext3/ext4 文件系统
SYNOPSIS：
            e2fsck [OPTIONS]  device
OPTIONS：
            -y：对所有问题自动回答为yes。
            -f：即使文件系统处于clean状态，也要强制进行检测。
---------------------------------------------------------------------------------------------
###：fsck：检查和修补Linux文件系统
SYNOPSIS：
       fsck [-lrsAVRTMNP] [-C [fd]] [-t fstype] [filesystem...]  [--] [fs-specific-options]
OPTIONS：
      -t fstype：指明文件系统类型。
            ~]# fsck -t ext4

      -a：无须交互而自动修复所有错误。
            ~]# fsck -a
                    fsck from util-linux 2.23.2

      -r：交互式修复；
            ~]# fsck -r
                    fsck from util-linux 2.23.2
---------------------------------------------------------------------------------------------






统计与查看
---------------------------------------------------------------------------------------------
###：df：查看磁盘使用状态
OPTIONS：
    -l：只显示本地文件系统
    -h：转换单位。
    -i：inode使用量
---------------------------------------------------------------------------------------------
###：du：评估文件大小
OPTIONS：
    -s：整体显示
    -h：换算单位
---------------------------------------------------------------------------------------------
###：free -m ：查看内存使用状态
OPTIONS：
      -a：以M单位
      -g：以G单位